package com.kfm.am.exec;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Exec01 {

    public static void main(String[] args) {
        // 列出指定目录及其子目录下所有文件。
        String pathname = "E:\\Image";
        List<File> allFiles = getAllFiles(pathname);
        allFiles.forEach(o -> System.out.println(o));
    }

    public static List<File> getAllFiles(String pathname) {
        if (pathname == null || pathname.isBlank()) {
            return null;
        }
        System.out.println("当前的文件夹是：" + pathname);
        File file = new File(pathname);
        File[] files = file.listFiles();
        List<File> fileList = new ArrayList<>();
        if (files != null) {
            for (File f : files) {
                if (f.isFile()) { // 如果是文件，直接添加到集合中
                    fileList.add(f);
                } else { // 如果是文件夹，接着遍历文件夹里面的内容
//                    fileList.add(f);
                    // 接着找该文件夹里面的文件
                    fileList.addAll(getAllFiles(f.getPath()));
                }
            }
        }
        return fileList;
    }

}
